gusucode.com > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM源码程序 > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM\Regression_SVM_SteveGunn.m
% 支持向量机用于函数拟合 - 必须选择最优参数 p1,C % 工具箱:SVM_SteveGunn % 使用平台:Matlab6.5 % 作者:陆振波,海军工程大学 % 欢迎同行来信交流与合作,更多文章与程序下载请访问我的个人主页 % 电子邮件:luzhenbo@sina.com % 个人主页:luzhenbo.88uu.com.cn clc clear close all %--------------------------------------------------- % 产生训练样本与测试样本 n1 = 1:2:200; x1 = sin(n1*0.1); n2 = 2:2:200; x2 = sin(n2*0.1); xn_train = n1; % 训练样本,每一列为一个样本 dn_train = x1; % 训练目标,行向量 xn_test = n2; % 测试样本,每一列为一个样本 dn_test = x2; % 测试目标,行向量 %--------------------------------------------------- % 参数设置 trnX = xn_train'; trnY = dn_train'; tstX = xn_test'; tstY = dn_test'; global p1 ; ker = 'rbf'; % 核函数 k = exp(-(u-v)*(u-v)'/(2*p1^2)) p1 = 3; % p1 is width of rbfs (sigma) C = 10; % 折衷系数 %--------------------------------------------------- % 训练与测试 [nsv,beta,bias] = svr(trnX,trnY,ker,C); % 训练 tstY1 = svroutput(trnX,tstX,ker,beta,bias); % 测试 %--------------------------------------------------- % 结果作图 plot(1:length(tstY),tstY,'r+:',1:length(tstY1),tstY1,'bo:') title('+为真实值,o为预测值')